<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Promise对象</title>
</head>

<body>
    <script>
        // 实例一个 Promise 对象
        const axios = new Promise((resolve, reject) => {
            console.log('Promise内部代码', 1);
            console.log('Promise内部代码', 2);
            // Promise 内部逻辑，如请求封装，可能请求成功，可能请求失败
            if (true) {
                // 内部代码成功的时候，执行 then 的回调函数
                // 成功调用函数的时候传递实参 111
                resolve(111);
            } else {
                // 内部代码失败的时候，执行 catch 的回调函数
                // 失败调用函数的时候传递实参 222
                reject(222);
            }
        });

        console.log('Promise对象', axios);

        axios
            // then 的回调函数被 resolve 接收
            .then(
                // res 接收成功调用的实参
                (res) => {
                    console.log(res);
                }
            )
            // catch 的回调函数被 reject 接收
            .catch(
                // err 接收失败调用的实参
                (err) => {
                    console.log(err);
                }
            )
            // finally 完成，不管成功失败都会执行
            .finally(
                () => {
                    console.log('成功失败都会执行');
                }
            )

    </script>
</body>

</html>